Version Control & Branching Strategy
| Document status | 35 - Reviewed |
|---|
Version control and branching strategy
Version control provides many advances, the most important of which are history/rollback opportunities, author tracking, and automating deployments between environments. The tool used for version control is GIT.
Nearly all parts of the solution are managed using version control:
- Azure Infrastructure
- Functional Logic (C# and PowerShell)
- Deployment Pipelines for Azure components (YAML)
- Documentation (Azure DevOps Wiki)
Branching strategy
main- Branch til vedligehold af produktion.- Kun til rettelser, der må gå direkte i produktion hos alle kunder.
- Alle ændringer ender heri på et tidspunkt.
pilot/*- Branches til kontrolleret udrulning af features til udvalgte pilotkunder, der skal holdes opdaterede.- Skal kun bruges, når der er behov for test på kundemiljøer (dvs. ikke interne testmiljøer).
- Oprettes direkte fra
mainvia Azure DevOps, for ikke at omgå branch policies. - Ændringer i
mainmerges automatisk tilpilot/*-branches. - Når en pilot er gennemført med succes, merges det til
main.
Feature and fix branches
Feature branches must follow the naming convention:feature/[DevOps ID]-[Short meaningful text]
Bug fix branches must follow the naming convention:fix/[DevOps ID]-[Short meaningful text]
Quality assurance of source code
In addition to peer review through pull requests, additional quality assurance is incorporated into the deployment pipelines. Details are in Deployment Guide.